﻿using System;
using System.Collections.Generic;
using ActionLogic;
using BehaviorModel.Block;
using BehaviorModel.Block.Finish;
using BehaviorModel.Block.Generator;
using BehaviorModel.Block.ServiceChannel;
using BehaviorModel.Statistic;

namespace BehaviorModel
{
    public class StatisticController
    {
        private static readonly StatisticController _instance = new StatisticController();
        
        public ISystemStatistic Statistic { get; private set; }
        public IFinishCollector Collector { get; private set; }

        public static StatisticController GetInstance()
        {
            return _instance;
        }

        private StatisticController()
        {
            Statistic = new SystemStatistic();
            Collector = new FinishCollector();
        }

        public void Update()
        {
            Collector.Update();
            Statistic.Update();
        }

        public void InitStat()
        {
            Collector = new FinishCollector();
        }
    }
}